home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / misc / hardware.lzh / hardware.txt
Text File  |  1993-09-29  |  104KB  |  1,444 lines

  1.              .---------------------------------------------------.
  2.              |Atari ST/STe/MSTe/TT/F030 Hardware Register Listing|
  3.              `---------------------------------------------------'
  4.  
  5.                              Version 6.0 - 9/25/93
  6.                                   By Dan Hollis
  7.                     Copyright (C) 1993 MicroImages Software
  8.  
  9. ------------------------------------------------------------------------------
  10. This document may only be copied unmodified, in its entirety. This document
  11. may only be copied freely, and may not be sold. I make no guarantees as to the
  12. accuracy of this document. I cannot be responsible for the use or misuse of
  13. information contained within this document. Use at your own risk! In any case,
  14. every effort has been taken to ensure this document is as complete and
  15. accurate as possible.
  16. ------------------------------------------------------------------------------
  17.  
  18. Many thanks to the following people for their contributions!
  19.  
  20. Markus Gutschke, Alexander Herzlinger, Karsten Isakovic, Thomas Binder,
  21. Julian Reschke, Georges Kesseler, Torbjoern Ose
  22.  
  23.  
  24. New in this revision : MAJOR CHANGES! Totally re-organized. Completely
  25. reformatted to 80 columns! Moved things around into a more logical order.
  26. Added "official" OS variables. Added IDE error register (Falcon030/STbook)
  27. thanks to XHDI 1.10 documentation. Now will someone send the rest of the IDE
  28. documentation?
  29.  
  30. Last few revisions: Cookie jar documentation cleaned up - should be readable
  31. now! A few minor additions (SCC interrupt vectors) and corrections. ACIA
  32. Additions. Extended joystick ports. Master 32bit memory map. Full YM2149
  33. register listing. Various typo corrections.
  34.  
  35.  
  36. Still need info on:       Floating Point Coprocessor ($FFFA40-$FFFA58)
  37.                                       Realtime Clock ($FFFC21-$FFFC3F)
  38.                                       IDE Controller ($F00000-$F00039)
  39.                                 STACY Display Driver ($FF827E)
  40. Mega STe Cache/Processor Control - Might find myself ($FF8E21)
  41.                    TT-SCSI Drive Controller NCR-5380 ($FF8781-$FF878F)
  42.                              TT Clock Chip MC146818A ($FF8961-$FF8963)
  43.  Falcon030 NVRAM Addresses - Might find these myself ($??????-$??????)
  44.  Any Falcon030 registers I missed - especially video ($??????-$??????)
  45.  
  46.  
  47. Corrections, additions, or comments should be sent to me. I can be contacted
  48. at the following addresses:
  49.  
  50. InterNet : goemon@venice.mps.ohio-state.edu (preferred)
  51.            dhollis@bitsink.gbdata.com
  52. Snail : Dan Hollis
  53.         c/o ViewTouch Corp.
  54.         344 NE Terry Lane
  55.         Grants Pass, OR 97526
  56.  
  57. ***************************************************************************
  58. NOTE: I have moved since the last incarnation of this document! Please note
  59.       the new address if you wish to write me!
  60. ***************************************************************************
  61.  
  62. Address Description                                                      Space
  63. -------+----------------------------------------------------------------+-----
  64. ########CPU Reset Vectors                                               ######
  65. -------+----------------------------------------------------------------+-----
  66. $000000|Reset : Initial SSP                                             |SP
  67. $000004|Reset : Initial PC                                              |SP
  68. -------+----------------------------------------------------------------+-----
  69. ########CPU Exception Vectors                                           ######
  70. -------+----------------------------------------------------------------+-----
  71. $000008|Bus Error                                                       |SD
  72. $00000C|Address Error                                                   |SD
  73. $000010|Illegal Instruction                                             |SD
  74. $000014|Zero Divide                                                     |SD
  75. $000018|CHK, CHK2 Instruction                                           |SD
  76. $00001C|cpTRAPcc, TRAPcc, TRAPV                                         |SD
  77. $000020|Privilege Violation                                             |SD
  78. $000024|Trace                                                           |SD
  79. $000028|Line 1010 Emulator (LineA)                                      |SD
  80. $00002C|Line 1111 Emulator (LineF)                                      |SD
  81. $000030|(Unassigned, Reserved)                                          |SD
  82. $000034|Coprocessor Protocol Violation (68030)                          |SD
  83. $000038|Format Error (68010)                                            |SD
  84. $00003C|Uninitialized Interrupt Vector                                  |SD
  85. $000040|(Unassigned, Reserved)                                          |SD
  86.    :   |   :             :                                              | :
  87. $00005F|(Unassigned, Reserved)                                          |SD
  88. $000060|Spurious Interrupt (Bus error during interrupt)                 |SD                                          
  89. -------+----------------------------------------------------------------+-----
  90. ########Auto-Vector Interrupts                                          ######
  91. -------+----------------------------------------------------------------+-----
  92. $000064|Level 1 Int Autovector (TT VME)                                 |SD
  93. $000068|Level 2 Int Autovector (HBL)                                    |SD
  94. $00006C|Level 3 Int Autovector (TT VME)                                 |SD
  95. $000070|Level 4 Int Autovector (VBL)                                    |SD
  96. $000074|Level 5 Int Autovector                                          |SD
  97. $000078|Level 6 Int Autovector (MFP)                                    |SD
  98. $00007C|Level 7 Int Autovector                                          |SD
  99. -------+----------------------------------------------------------------+-----
  100. ########Trap Instruction Vectors (Trap #n = Vector number + 32 + n)     ######
  101. -------+----------------------------------------------------------------+-----
  102. $000080|Trap #0                                                         |SD
  103. $000084|Trap #1 (GemDOS)                                                |SD
  104. $000088|Trap #2 (AES/VDI)                                               |SD
  105. $0000B4|Trap #13 (BIOS)                                                 |SD
  106. $0000B8|Trap #14 (XBIOS)                                                |SD
  107. -------+----------------------------------------------------------------+-----
  108. ########Math Coprocessor Vectors (68881/68882/Internal)                 ######
  109. -------+----------------------------------------------------------------+-----
  110. $0000C0|FFCP Branch or Set on Unordered Condition                       |SD
  111. $0000C4|FFCP Inexact Result                                             |SD
  112. $0000C8|FFCP Divide by Zero                                             |SD
  113. $0000CC|FFCP Underflow                                                  |SD
  114. $0000D0|FFCP Operand Error                                              |SD
  115. $0000D4|FFCP Overflow                                                   |SD
  116. $0000D8|FFCP Signaling NAN                                              |SD
  117. $0000DC|(Unassigned, Reserved)                                          |SD
  118. -------+----------------------------------------------------------------+-----
  119. ########PMMU Coprocessor Vectors (68851/Internal)                       ######
  120. -------+----------------------------------------------------------------+-----
  121. $0000E0|MMU Configuration Error                                         |SD
  122. $0000E4|MC68851, not used by MC68030                                    |SD
  123. $0000E8|MC68851, not used by MC68030                                    |SD
  124. -------+----------------------------------------------------------------+-----
  125. ########Miscellaneous Vectors                                           ######
  126. -------+----------------------------------------------------------------+-----
  127. $0000EC|(Unassigned, Reserved)                                          |SD
  128.    :   |   :             :                                              | :
  129. $0000FF|(Unassigned, Reserved)                                          |SD
  130. -------+----------------------------------------------------------------+-----
  131. ########User Assigned Interrupt Vectors                                 ######
  132. -------+----------------------------------------------------------------+-----
  133. $000100|ST-MFP-0 - Centronics busy                                      |SD
  134. $000104|ST-MFP-1 - RS-232 DCD                                           |SD
  135. $000108|ST-MFP-2 - RS-232 CTS                                           |SD
  136. $00010C|ST-MFP-3 - Blitter done                                         |SD
  137. $000110|ST-MFP-4 - Timer D (USART timer)                                |SD
  138. $000114|ST-MFP-5 - Timer C (200hz Clock)                                |SD
  139. $000118|ST-MFP-6 - Keyboard/MIDI (ACIA)                                 |SD
  140. $00011C|ST-MFP-7 - FDC/HDC                                              |SD
  141. $000120|ST-MFP-8 - Timer B (HBL)                                        |SD
  142. $000124|ST-MFP-9 - Send Error                                           |SD
  143. $000128|ST-MFP-10 - Send buffer empty                                   |SD
  144. $00012C|ST-MFP-11 - Receive error                                       |SD
  145. $000130|ST-MFP-12 - Receive buffer full                                 |SD
  146. $000134|ST-MFP-13 - Timer A (STe sound)                                 |SD
  147. $000138|ST-MFP-14 - RS-232 Ring detect                                  |SD
  148. $00013C|ST-MFP-15 - GPI7 - Monochrome Detect                            |SD
  149. $000140|TT-MFP-0 - GPI 0                                                |SD
  150. $000144|TT-MFP-1 - GPI 1                                                |SD
  151. $000148|TT-MFP-2 - GPI 2                                                |SD
  152. $00014C|TT-MFP-3 - GPI 3                                                |SD
  153. $000150|TT-MFP-4 - Timer D                                              |SD
  154. $000154|TT-MFP-5 - Timer C                                              |SD
  155. $000158|TT-MFP-6 - GPI 4                                                |SD
  156. $00015C|TT-MFP-7 - GPI 5                                                |SD
  157. $000160|TT-MFP-8 - Timer B                                              |SD
  158. $000164|TT-MFP-9 - Send Error                                           |SD
  159. $000168|TT-MFP-10 - Send buffer empty                                   |SD
  160. $00016C|TT-MFP-11 - Receive error                                       |SD
  161. $000170|TT-MFP-12 - Receive buffer full                                 |SD
  162. $000174|TT-MFP-13 - Timer A                                             |SD
  163. $000176|TT-MFP-14 - GPI 6                                               |SD
  164. $00017C|TT-MFP-15 - GPI 7                                               |SD
  165. $000180|SCC Interrupt                                                   |SD
  166. $0001BC|SCC Interrupt                                                   |SD
  167. $0001C0|User Defined, Unused                                            |SD
  168.    :   |  :     :        :                                              | :
  169. $0003FC|User Defined, Unused                                            |SD
  170. -------+----------------------------------------------------------------+-----
  171.  
  172. Address Size  Description                                           Name
  173. -------+-----+-----------------------------------------------------+----------
  174. ##############System Crash Page                                    ###########
  175. -------+-----+-----------------------------------------------------+----------
  176. $000380|long |Validates System Crash Page if $12345678             |proc_lives
  177. $000384|.....|Saved registers D0-D7                                |proc_dregs
  178. $0003A4|.....|Saved registers A0-A7                                |proc_aregs
  179. $0003C4|long |Vector number of crash exception                     |proc_enum
  180. $0003C8|long |Saved USP                                            |proc_usp
  181. $0003CC|.....|Saved 16 words from exception stack                  |proc_stk
  182. -------+-----+-----------------------------------------------------+----------
  183. ##############System Variables                                     ###########
  184. -------+-----+-----------------------------------------------------+----------
  185. $000400|long |GEM Event timer vector                               |etv_timer
  186. $000404|long |GEM Critical error handler                           |etv_critic
  187. $000408|long |GEM Program termination vector                       |etv_term
  188. $00040C|long |GEM Additional vector #1 (Unused)                    |etv_xtra
  189.    :   |  :  | :      :        :     :    :                        |   :
  190. $00041C|long |GEM Additional vector #5 (Unused)                    |etv_xtra
  191. $000420|long |Validates memory configuration if $752019F3          |memvalid
  192. $000424|word |Copy of contents of $FF8001                          |memctrl
  193. $000426|long |Validates resvector if $31415926                     |resvalid
  194. $00042A|long |Reset vector                                         |resvector
  195. $00042E|long |Physical top of RAM                                  |phystop
  196. $000432|long |Start of TPA (user memory)                           |_membot
  197. $000436|long |End of TPA (user memory)                             |_memtop
  198. $00043A|long |Validates memcntrl and memconf if $237698AA          |memval2
  199. $00043E|word |If nonzero, floppy disk VBL routine is disabled      |flock
  200. $000440|word |Floppy Seek rate - 0:6ms, 1:12ms, 2:2ms, 3:3ms       |seekrate
  201. $000442|word |Time between two timer calls (in milliseconds)       |_timer_ms
  202. $000444|word |If not zero, verify floppy disk writes               |_fverify
  203. $000446|word |Default boot device                                  |_bootdev
  204. $000448|word |0 - NTSC (60hz), <>0 - PAL (50hz)                    |palmode
  205. $00044A|word |Default video resolution                             |defshiftmod
  206. $00044C|word |Copy of contents of $FF8260                          |sshiftmod
  207. $00044E|long |Pointer to video RAM (logical screen base)           |_v_bas_ad
  208. $000452|word |If not zero, VBL routine is not executed             |vblsem
  209. $000454|word |Number of vertical blank routines                    |nvbls
  210. $000456|long |Pointer to list of vertical blank routines           |_vblqueue
  211. $00045A|long |If not zero, points to color palette to be loaded    |colorptr
  212. $00045E|long |If not zero, points to video ram for next VBL        |screenpt
  213. $000462|long |Counter for number of VBLs                           |_vbclock
  214. $000466|long |Number of VBL routines executed                      |_frclock
  215. $00046A|long |Vector for hard disk initialization                  |hdv_init
  216. $00046E|long |Vector for resolution change                         |swv_vec
  217. $000472|long |Vector for getbpb for hard disk                      |hdv_bpb
  218. $000476|long |Vector for read/write routine for hard disk          |hdv_rw
  219. $00047A|long |Vector for hard disk boot                            |hdv_boot
  220. $00047E|long |Vector for hard disk media change                    |hdv_mediach
  221. $000482|word |If not zero, attempt to load "COMMAND.PRG" on boot   |_comload
  222. $000484|byte |Attribute vector for console output       BIT 3 2 1 0|conterm
  223.        |     |Return "kbshift" for BIOS conin --------------' | | ||
  224.        |     |System bell (1 - on) ---------------------------' | ||
  225.        |     |Key repeat (1 - on) ------------------------------' ||
  226.        |     |Key click (1 - on) ---------------------------------'|
  227. $000486|long |Return address for TRAP #14                  (unused)|trp14ret
  228. $00048A|long |Return address for critical error handler    (unused)|criticret
  229. $00048E|long |Memory descriptor block                              |themd
  230. $00049E|long |Space for additional memory descriptors              |themdmd
  231. $0004A2|long |Pointer to BIOS save registers block                 |savptr
  232. $0004A6|word |Number of connected floppy drives                    |_nflops
  233. $0004A8|long |Vector for screen output                             |con_state
  234. $0004AC|word |Temporary storage for cursor line position           |save_row
  235. $0004AE|long |Pointer to save area for exception processing        |sav_context
  236. $0004B2|long |Pointer to buffer control block for GEMDOS data      |_bufl
  237. $0004B6|long |Pointer to buffer control block for GEMDOS fat/dir   |_bufl
  238. $0004BA|long |Counter for 200hz system clock                       |_hz_200
  239. $0004BC|long |Pointer to default environment string                |the_env
  240. $0004C2|long |Bit allocation for physical drives (bit 0=A, 1=B..)  |_drvbits
  241. $0004C6|long |Pointer to 1024-byte disk buffer                     |_dskbufp
  242. $0004CA|long |Pointer to autoexecute path                          |_autopath
  243. $0004CE|long |Pointer to VBL routine #1                            |_vbl_lis
  244.    :   |  :  |  :      :  :     :     :                            |    :
  245. $0004EA|long |Pointer to VBL routine #8                            |_vbl_lis
  246. $0004EE|word |Flag for screen -> printer dump                      |_dumpflg
  247. $0004F0|word |Printer abort flag                                   |_prtabt
  248. $0004F2|long |Pointer to start of OS                               |_sysbase
  249. $0004F6|long |Global shell pointer                                 |_shell_p
  250. $0004FA|long |Pointer to end of OS                                 |end_os
  251. $0004FE|long |Pointer to entry point of OS                         |exec_os
  252. $000502|long |Pointer to screen dump routine                       |scr_dump
  253. $000506|long |Pointer to _lstostat()                               |prv_lsto
  254. $00050A|long |Pointer to _lstout()                                 |prv_lst
  255. $00050E|long |Pointer to _auxostat()                               |prv_auxo
  256. $000512|long |Pointer to _auxout()                                 |prv_aux
  257. $000516|long |If AHDI, pointer to pun_info                         |pun_ptr
  258. $00051A|long |If $5555AAAA, reset                                  |memval3
  259. $00051E|long |8 Pointers to input-status routines                  |xconstat
  260. $00053E|long |8 Pointers to input routines                         |xconin
  261. $00055E|long |8 Pointers to output-status routines                 |xcostat
  262. $00057E|long |8 Pointers to output routines                        |xconout
  263. $00059E|word |If not 0, then not 68000 - use long stack frames     |_longframe
  264. $0005A0|long |Pointer to cookie jar                                |_p_cookies
  265. $0005A4|long |Pointer to end of FastRam                            |ramtop
  266. $0005A8|long |Validates ramtop if $1357BD13                        |ramvalid
  267. $0005AC|long |Pointer to routine for system bell                   |bell_hook
  268. $0005B0|long |Pointer to routine for system keyclick               |kcl_hook
  269. -------+-----+-----------------------------------------------------+----------
  270.  
  271. Address Size  Description                                 Bits used Read/Write
  272. -------+-----+-----------------------------------------------------+----------
  273. ##############OS ROMs                                              ###########
  274. -------+-----+-----------------------------------------------------+----------
  275. $E00000|byte |TOS 512k ROMs                                        |R
  276.    :   |  :  | :   :    :                                          |:
  277. $EFFFFF|byte |TOS 512k ROMs                                        |R
  278. -------+-----+-----------------------------------------------------+----------
  279. ##############ADSPEED Configuration registers                      ###########     
  280. -------+-----+-----------------------------------------------------+----------
  281. $F00000|byte |Switch to 16 Mhz                                     |W
  282. $F10000|byte |Switch to 8 Mhz                                      |W
  283. $F20000|byte |Turn on high speed ROM option in 16 Mhz              |W
  284. $F30000|byte |Turn off high speed ROM option                       |W
  285. $F40000|byte |Unknown                                              |W
  286. $F50000|byte |Turn off cache while in 16 Mhz                       |W
  287.        |     |       >> Write 0 to an address to set it. <<        |
  288. -------+-----+-----------------------------------------------------+----------
  289. ##############IDE Controller (Falcon, ST-Book, IDE cards)          ###########
  290. -------+-----+-----------------------------------------------------+----------
  291. $F00000|long |Data Register                                        |R/W
  292. $F00005|byte |Error Register                    BIT 7 6 5 4 3 2 1 0|R
  293.        |     |Bad block mark -----------------------' | | | | | | ||
  294.        |     |Uncorrectable error --------------------' | | | | | ||
  295.        |     |Media change -----------------------------' | | | | ||
  296.        |     |ID-Field not found -------------------------' | | | ||
  297.        |     |Media change requested -----------------------' | | ||
  298.        |     |Command aborted --------------------------------' | ||
  299.        |     |Track 0 not found --------------------------------' ||
  300.        |     |DAM not found --------------------------------------'|
  301. $F00009|byte |Sector Count Register                                |W
  302. $F0000D|byte |Sector Number Register                               |W
  303. $F00011|byte |Cylinder Low Register                                |W
  304. $F00015|byte |Cylinder High Register                               |W
  305. $F00019|byte |Drive Head Register                                  |W
  306. $F0001D|byte |Status Register                                      |R
  307. $F0001D|byte |Command Register                                     |W
  308. $F00039|byte |Alternate Status Register                            |R
  309. $F00039|byte |Data Output Register                                 |W
  310. -------+-----+-----------------------------------------------------+----------
  311. ##############ST MMU Controller                                    ###########
  312. -------+-----+-----------------------------------------------------+----------
  313. $FF8001|byte |MMU memory configuration                  BIT 3 2 1 0|R/W
  314.        |     |Bank 0                                        | | | ||
  315.        |     |00 - 128k ------------------------------------+-+ | ||
  316.        |     |01 - 512k ------------------------------------+-+ | ||
  317.        |     |10 - 2m --------------------------------------+-+ | ||
  318.        |     |11 - reserved --------------------------------+-' | ||
  319.        |     |Bank 1                                            | ||
  320.        |     |00 - 128k ----------------------------------------+-+|
  321.        |     |01 - 512k ----------------------------------------+-+|
  322.        |     |10 - 2m ------------------------------------------+-+|
  323.        |     |11 - reserved ------------------------------------+-'|
  324. -------+-----+-----------------------------------------------------+----------
  325. ##############Falcon030 Processor Control                          ###########
  326. -------+-----+-----------------------------------------------------+----------
  327. $FF8007|byte |Falcon Bus Control                    BIT 5 . . 2 . 0|R/W (F030)
  328.        |     |STe Bus Emulation (0 - on) ---------------'     |   ||
  329.        |     |Blitter (0 - 8mhz, 1 - 16mhz) ------------------'   ||
  330.        |     |68030 (0 - 8mhz, 1 - 16mhz) ------------------------'|
  331. -------+-----+-----------------------------------------------------+----------
  332. ##############SHIFTER Video Controller                             ###########
  333. -------+-----+-----------------------------------------------------+----------
  334. $FF8201|byte |Video screen memory position (High byte)             |R/W
  335. $FF8203|byte |Video screen memory position (Mid byte)              |R/W
  336. $FF820D|byte |Video screen memory position (Low byte)              |R/W  (STe)
  337. $FF8205|byte |Video address pointer (High byte)                    |R
  338. $FF8207|byte |Video address pointer (Mid byte)                     |R
  339. $FF8209|byte |Video address pointer (Low byte)                     |R
  340. $FF820E|word |Offset to next line                                  |R/W (F030)
  341. $FF820F|byte |Width of a scanline (width in words-1)               |R/W  (STe)
  342. $FF8210|word |Width of a scanline (width in words)                 |R/W (F030)
  343. $FF8265|byte |Horizontal scroll register (0-15)                    |R/W  (STe)
  344. -------+-----+-----------------------------------------------------+----------
  345. $FF820A|byte |Video synchronization mode                    BIT 1 0|R/W
  346.        |     |0 - 60hz, 1 - 50hz -------------------------------+ ||
  347.        |     |0 - internal, 1 - external sync ------------------' ||      (TT)
  348.        |     |0 - internal, 1 - external sync --------------------'|     (!TT)
  349. -------+-----+-----------------------------------------------------+----------
  350.        |     |                                BIT 11111198 76543210|
  351.        |     |                                    543210           |
  352.        |     |                     ST color value .....RRr .GGr.BBb|
  353.        |     |                    STe color value ....rRRR gGGGbBBB|
  354. $FF8240|word |Video palette register 0              Lowercase = LSB|R/W
  355.     :  |  :  |  :      :       :     :                             | :
  356. $FF825E|word |Video palette register 15                            |R/W
  357. -------+-----+-----------------------------------------------------+----------
  358. $FF8260|byte |Shifter resolution                            BIT 1 0|R/W
  359.        |     |00 320x200x4 bitplanes (16 colors) ---------------+-+|
  360.        |     |01 640x200x2 bitplanes (4 colors) ----------------+-+|
  361.        |     |10 640x400x1 bitplane  (1 colors) ----------------+-'|
  362. $FF8262|word |TT Shifter resolution                   BIT 15 . . 12|R/W   (TT)
  363.        |     |Sample/Hold mode ----------------------------'      ||
  364.        |     |Hypermono mode -------------------------------------'|
  365.        |     |Video Mode                                 BIT 10 9 8|
  366.        |     |000  320x200x4 bitplanes (16 colors) -----------+-+-+|
  367.        |     |001  640x200x2 bitplanes (4 colors) ------------+-+-+|
  368.        |     |010  640x400x1 bitplane  (2 colors)(Duochrome) -+-+-+|
  369.        |     |100  640x480x4 bitplanes (16 colors) -----------+-+-+|
  370.        |     |110 1280x960x1 bitplane  (2 colors) ------------+-+-+|
  371.        |     |111  320x480x8 bitplanes (256 colors) ----------+-+-'|
  372.        |     |ST Palette Bank                           BIT 3 2 1 0|
  373. -------+-----+-----------------------------------------------------+----------
  374. $FF827E|???? |STACY Display Driver                                 |???(STACY)
  375. -------+-----+-----------------------------------------------------+----------
  376.        |     |                                BIT 11111198 76543210|
  377.        |     |                                    543210           |
  378.        |     |                     TT color value ....RRRr GGGgBBBb|
  379. $FF8400|word |TT Palette  0                         Lowercase = LSB|R/W   (TT)
  380.     :  |  :  | :    :     :                                        | :      :
  381. $FF85FE|word |TT Palette 255                                       |R/W   (TT)
  382. -------+-----+-----------------------------------------------------+----------
  383. ##############Falcon030 VIDEL Video Controller                     ###########
  384. -------+-----+-----------------------------------------------------+----------
  385. $FF8006|byte |Monitor Type                                  BIT 1 0|R   (F030)
  386.        |     |00 - Monochrome (SM124) --------------------------+-+|
  387.        |     |01 - Color (SC1224) ------------------------------+-+|
  388.        |     |10 - VGA Color -----------------------------------+-+|
  389.        |     |11 - Television ----------------------------------+-'|
  390. $FF820E|word |Offset to next line                                  |R/W (F030)
  391. $FF8210|word |VWRAP - Linewidth in words                           |R/W (F030)
  392. $FF8266|word |SPSHIFT                    BIT 10 . 8 . 6 5 4 . . . .|R/W (F030)
  393.        |     |2-colour mode ------------------'   |   | | |        |
  394.        |     |Truecolour mode --------------------'   | | |        |
  395.        |     |Use external hsync ---------------------' | |        |
  396.        |     |Use external vsync -----------------------' |        |
  397.        |     |Bitplane mode ------------------------------'        |
  398.        |     +-----------------------------------------------------+
  399.        |     |      Horizontal Control Registers             (9bit)|
  400. $FF8280|word |HHC - Horizontal Hold Counter                        |R   (F030)
  401. $FF8282|word |HHT - Horizontal Hold Timer                          |R/W (F030)
  402. $FF8284|word |HBB - Horizontal Border Begin                        |R/W (F030)
  403. $FF8286|word |HBE - Horizontal Border End                          |R/W (F030)
  404. $FF8288|word |HDB - Horizontal Display Begin                       |R/W (F030)
  405. $FF828A|word |HDE - Horizontal Display End                         |R/W (F030)
  406. $FF828C|word |HSS - Horizontal SS                                  |R/W (F030)
  407. $FF828E|word |HFS - Horizontal FS                                  |R/W (F030)
  408. $FF8290|word |HEE - Horizontal EE                                  |R/W (F030)
  409.        |     +-----------------------------------------------------+
  410.        |     |      Vertical Control Registers              (10bit)|
  411. $FF82A0|word |VFC - Vertcial Frequency Counter                     |R   (F030)
  412. $FF82A2|word |VFT - Vertical Frequency Timer                       |R/W (F030)
  413. $FF82A4|word |VBB - Vertical Border Begin                          |R/W (F030)
  414. $FF82A6|word |VBE - Vertical Border End        (count in 1/2 lines)|R/W (F030)
  415. $FF82A8|word |VDB - Vertical Display Begin                         |R/W (F030)
  416. $FF82AA|word |VDE - Vertical Display End                           |R/W (F030)
  417. $FF82AC|word |VSS - Vertical SS                                    |R/W (F030)
  418.        |     +-----------------------------------------------------+
  419. $FF82C2|word |VCO - Video Control                       BIT 3 2 1 0|R/W (F030)
  420.        |     |Quarter pixel width (quadruple pixels) -------' | | ||
  421.        |     |Half pixel width (double pixels) ---------------' | ||
  422.        |     |Skip line (interlace) ----------------------------' ||
  423.        |     |Line doubling --------------------------------------'|
  424. -------+-----+-----------------------------------------------------+----------
  425. ##############DMA/WD1772 Disk controller                           ###########
  426. -------+-----+-----------------------------------------------------+----------
  427. $FF8600|     |Reserved                                             |
  428. $FF8602|     |Reserved                                             |
  429. $FF8604|word |FDC access/sector count                              |R/W
  430. $FF8606|word |DMA mode/status                             BIT 2 1 0|R
  431.        |     |Condition of FDC DATA REQUEST signal -----------' | ||
  432.        |     |0 - sector count null,1 - not null ---------------' ||
  433.        |     |0 - no error, 1 - DMA error ------------------------'|
  434. $FF8606|word |DMA mode/status                 BIT 8 7 6 . 4 3 2 1 .|W
  435.        |     |0 - read FDC/HDC,1 - write ---------' | | | | | | |  |
  436.        |     |0 - HDC access,1 - FDC access --------' | | | | | |  |
  437.        |     |0 - DMA on,1 - no DMA ------------------' | | | | |  |
  438.        |     |Reserved ---------------------------------' | | | |  |
  439.        |     |0 - FDC reg,1 - sector count reg -----------' | | |  |
  440.        |     |0 - FDC access,1 - HDC access ----------------' | |  |
  441.        |     |0 - pin A1 low, 1 - pin A1 high ----------------' |  |
  442.        |     |0 - pin A0 low, 1 - pin A0 high ------------------'  |
  443. $FF8609|byte |DMA base and counter (High byte)                     |R/W
  444. $FF860B|byte |DMA base and counter (Mid byte)                      |R/W
  445. $FF860D|byte |DMA base and counter (Low byte)                      |R/W
  446. -------+-----+-----------------------------------------------------+----------
  447. ##############TT-SCSI DMA Controller                               ###########
  448. -------+-----+-----------------------------------------------------+----------
  449. $FF8701|byte |DMA Address Pointer (Highest byte)                   |R/W   (TT)
  450. $FF8703|byte |DMA Address Pointer (High byte)                      |R/W   (TT)
  451. $FF8705|byte |DMA Address Pointer (Low byte)                       |R/W   (TT)
  452. $FF8707|byte |DMA Address Pointer (Lowest byte)                    |R/W   (TT)
  453. $FF8709|byte |DMA Byte Count (Highest byte)                        |R/W   (TT)
  454. $FF870B|byte |DMA Byte Count (High byte)                           |R/W   (TT)
  455. $FF870D|byte |DMA Byte Count (Low byte)                            |R/W   (TT)
  456. $FF870F|byte |DMA Byte Count (Lowest byte)                         |R/W   (TT)
  457. $FF8710|word |Residue Data Register (High Word)                    |R     (TT)
  458. $FF8712|word |Residue Data Register (Low Word)                     |R     (TT)
  459. $FF8715|byte |Control register                  BIT 7 6 . . . . 1 0|R/W   (TT)
  460.        |     |Bus error ----------------------------' |         | ||
  461.        |     |Byte count zero ------------------------'         | ||
  462.        |     |Enable -------------------------------------------' ||
  463.        |     |DMA Direction (1 - out to port) --------------------'|
  464. -------+-----+-----------------------------------------------------+----------
  465. ##############TT-SCSI Drive Controller NCR 5380                    ###########
  466. -------+-----+-----------------------------------------------------+----------
  467. $FF8781|byte |Data register                                        |R/W   (TT)
  468. $FF8783|byte |Init-Command Register                                |R/W   (TT)
  469. $FF8785|byte |Mode Register                                        |R/W   (TT)
  470. $FF8787|byte |Target-Command Register                              |R/W   (TT)
  471. $FF8789|byte |ID Select/SCSI Control Register                      |R/W   (TT)
  472. $FF878B|byte |Status Register                                      |R/W   (TT)
  473. $FF878D|byte |Target Receive/Input Data                            |R/W   (TT)
  474. $FF878F|byte |Initiate Receive/Reset                               |R/W   (TT)
  475. -------+-----+-----------------------------------------------------+----------
  476. ##############YM2149 Sound Chip                                    ###########
  477. -------+-----+-----------------------------------------------------+----------
  478. $FF8800|byte |Read data/Register select                            |R/W
  479.        |     |0 Channel A Freq Low              BIT 7 6 5 4 3 2 1 0|
  480.        |     |1 Channel A Freq High                     BIT 3 2 1 0|
  481.        |     |2 Channel B Freq Low              BIT 7 6 5 4 3 2 1 0|
  482.        |     |3 Channel B Freq High                     BIT 3 2 1 0|
  483.        |     |4 Channel C Freq Low              BIT 7 6 5 4 3 2 1 0|
  484.        |     |5 Channel C Freq High                     BIT 3 2 1 0|
  485.        |     |6 Noise Freq                          BIT 5 4 3 2 1 0|
  486.        |     |7 Mixer Control                   BIT 7 6 5 4 3 2 1 0|
  487.        |     |  Port B IN/OUT (1=Output) -----------' | | | | | | ||
  488.        |     |  Port A IN/OUT ------------------------' | | | | | ||
  489.        |     |  Channel C Noise (1=Off) ----------------' | | | | ||
  490.        |     |  Channel B Noise --------------------------' | | | ||
  491.        |     |  Channel A Noise ----------------------------' | | ||
  492.        |     |  Channel C Tone (0=On) ------------------------' | ||
  493.        |     |  Channel B Tone ---------------------------------' ||
  494.        |     |  Channel A Tone -----------------------------------'|
  495.        |     |8 Channel A Amplitude Control           BIT 4 3 2 1 0|
  496.        |     |  Fixed/Variable Level (0=Fixed) -----------' | | | ||
  497.        |     |  Amplitude level control --------------------+-+-+-'|
  498.        |     |9 Channel B Amplitude Control           BIT 4 3 2 1 0|
  499.        |     |  Fixed/Variable Level ---------------------' | | | ||
  500.        |     |  Amplitude level control --------------------+-+-+-'|
  501.        |     |10 Channel C Amplitude Control          BIT 4 3 2 1 0|
  502.        |     |  Fixed/Variable Level ---------------------' | | | ||
  503.        |     |  Amplitude level control --------------------+-+-+-'|
  504.        |     |11 Envelope Period High           BIT 7 6 5 4 3 2 1 0|
  505.        |     |12 Envelope Period Low            BIT 7 6 5 4 3 2 1 0|
  506.        |     |13 Envelope Shape                         BIT 3 2 1 0|
  507.        |     |  Continue -----------------------------------' | | ||
  508.        |     |  Attack ---------------------------------------' | ||
  509.        |     |  Alternate --------------------------------------' ||
  510.        |     |  Hold ---------------------------------------------'|
  511.        |     |   00xx - \____________________________________      |
  512.        |     |   01xx - /|___________________________________      |
  513.        |     |   1000 - \|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\      |
  514.        |     |   1001 - \____________________________________      |
  515.        |     |   1010 - \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\      |
  516.        |     |   1011 - \|-----------------------------------      |
  517.        |     |   1100 - /|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/      |
  518.        |     |   1101 - /------------------------------------      |
  519.        |     |   1110 - /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/      |
  520.        |     |   1111 - /|___________________________________      |
  521.        |     |14 Port A                         BIT 7 6 5 4 3 2 1 0|
  522.        |     |  IDE Drive On/OFF -------------------+ | | | | | | ||    (F030)
  523.        |     |  SCC A (0=LAN, 1=Serial2) -----------' | | | | | | ||      (TT)
  524.        |     |  Monitor jack GPO pin -----------------+ | | | | | ||
  525.        |     |  Internal Speaker On/Off --------------' | | | | | ||    (F030)
  526.        |     |  Centronics strobe ----------------------' | | | | ||
  527.        |     |  RS-232 DTR output ------------------------' | | | ||
  528.        |     |  RS-232 RTS output --------------------------' | | ||
  529.        |     |  Drive select 1 -------------------------------' | ||
  530.        |     |  Drive select 0 ---------------------------------' ||
  531.        |     |  Drive side select --------------------------------'|
  532.        |     |15 Port B (Parallel port)                            |
  533. $FF8802|byte |Write data                                           |W
  534.        |     +-----------------------------------------------------+
  535.        |     |Note: PSG Registers are now fixed at these addresses.|
  536.        |     |All other addresses are masked out on the Falcon. Any|
  537.        |     |writes to the shadow registers $8804-$88FF will cause|
  538.        |     |bus errors. Game/Demo coders beware!                 |
  539. -------+-----+-----------------------------------------------------+----------
  540. ##############DMA Sound System                                     ###########
  541. -------+-----+-----------------------------------------------------+----------
  542. $FF8900|byte |Buffer interrupts                         BIT 3 2 1 0|R/W (F030)
  543.        |     |TimerA-Int at end of record buffer -----------' | | ||
  544.        |     |TimerA-Int at end of replay buffer -------------' | ||
  545.        |     |MFP-15-Int (I7) at end of record buffer ----------' ||
  546.        |     |MFP-15-Int (I7) at end of replay buffer ------------'|
  547. -------+-----+-----------------------------------------------------+----------
  548. $FF8901|byte |DMA Control Register              BIT 7 . 5 4 . . 1 0|R/W
  549.        |     |1 - select record register -----------+   | |     | ||    (F030) 
  550.        |     |0 - select replay register -----------'   | |     | ||    (F030)
  551.        |     |Loop record buffer -----------------------' |     | ||    (F030)
  552.        |     |DMA Record on ------------------------------'     | ||    (F030)
  553.        |     |Loop replay buffer -------------------------------' ||     (STe)
  554.        |     |DMA Replay on --------------------------------------'|     (STe)
  555. -------+-----+-----------------------------------------------------+----------
  556. $FF8903|byte |Frame start address (high byte)                      |R/W  (STe)
  557. $FF8905|byte |Frame start address (mid byte)                       |R/W  (STe)
  558. $FF8907|byte |Frame start address (low byte)                       |R/W  (STe)
  559. $FF8909|byte |Frame address counter (high byte)                    |R    (STe)
  560. $FF890B|byte |Frame address counter (mid byte)                     |R    (STe)
  561. $FF890D|byte |Frame address counter (low byte)                     |R    (STe)
  562. $FF890F|byte |Frame end address (high byte)                        |R/W  (STe)
  563. $FF8911|byte |Frame end address (mid byte)                         |R/W  (STe)
  564. $FF8913|byte |Frame end address (low byte)                         |R/W  (STe)
  565. -------+-----+-----------------------------------------------------+----------
  566. $FF8920|byte |DMA Track Control                     BIT 5 4 . . 1 0|R/W (F030)
  567.        |     |00 - Set DAC to Track 0 ------------------+-+     | ||
  568.        |     |01 - Set DAC to Track 1 ------------------+-+     | ||
  569.        |     |10 - Set DAC to Track 2 ------------------+-+     | ||
  570.        |     |11 - Set DAC to Track 3 ------------------+-'     | ||
  571.        |     |00 - Play 1 Track --------------------------------+-+|
  572.        |     |01 - Play 2 Tracks -------------------------------+-+|
  573.        |     |10 - Play 3 Tracks -------------------------------+-+|
  574.        |     |11 - Play 4 Tracks -------------------------------+-'|
  575. -------+-----+-----------------------------------------------------+----------
  576. $FF8921|byte |Sound mode control                BIT 7 6 . . . . 1 0|R/W  (STe)
  577.        |     |0 - Stereo, 1 - Mono -----------------' |         | ||
  578.        |     |0 - 8bit -------------------------------+         | ||
  579.        |     |1 - 16bit (F030 only) ------------------'         | ||    (F030)
  580.        |     |Frequency control bits                            | ||
  581.        |     |00 - Off (F030 only) -----------------------------+-+|    (F030)
  582.        |     |00 - 6258hz frequency (STe only) -----------------+-+|
  583.        |     |01 - 12517hz frequency ---------------------------+-+|
  584.        |     |10 - 25033hz frequency ---------------------------+-+|
  585.        |     |11 - 50066hz frequency ---------------------------+-'|
  586.        |     |Samples are always signed. In stereo mode, data is   |
  587.        |     |arranged in pairs with high pair the left channel,low|
  588.        |     |pair right channel. Sample length MUST be even in    |
  589.        |     |either mono or stereo mode.                          |
  590.        |     |Example: 8 bit Stereo : LRLRLRLRLRLRLRLR             |
  591.        |     |        16 bit Stereo : LLRRLLRRLLRRLLRR (F030)      |
  592.        |     |2 track 16 bit stereo : LLRRllrrLLRRllrr (F030)      |
  593. -------+-----+-----------------------------------------------------+----------
  594. ##############STe Microwire Controller (STe/TT only!)              ###########
  595. -------+-----+-----------------------------------------------------+----------
  596. $FF8922|byte |Microwire data register                              |R/W  (Mwr)
  597. $FF8924|byte |Microwire mask register                              |R/W  (Mwr)
  598.        |     +-----------------------------------------------------+
  599.        |     |!! ATTENTION !! Microwire is now obsolete! It is not |
  600.        |     |present in the Falcon030 and is unlikely to be in any|
  601.        |     |future machines. You have been warned.               | 
  602.        |     +-----------------------------------------------------+
  603.        |     |Volume/tone controller commands         (Address %10)|
  604.        |     |Master Volume                           10 011 DDDDDD|
  605.        |     |Left Volume                             10 101 .DDDDD|
  606.        |     |Right Volume                            10 100 .DDDDD|
  607.        |     |Treble                                  10 010 ..DDDD|
  608.        |     |Bass                                    10 001 ..DDDD|
  609.        |     |Mixer                                   10 000 ....DD|
  610.        |     +-----------------------------------------------------+
  611.        |     |Volume/tone controller values                        |
  612.        |     |Master Volume     : 0-40   (0 -80dB, 40=0dB)         |
  613.        |     |Left/Right Volume : 0-20    (0 80dB, 20=0dB)         |
  614.        |     |Treble/bass       : 0-12 (0 -12dB, 12 +12dB)         |
  615.        |     |Mixer             : 0-3 (0 -12dB, 1 mix PSG)         |
  616.        |     |                    (2 don't mix,3 reserved)         |
  617.        |     +-----------------------------------------------------+
  618.        |     |Procedure: Set mask register to $7ff. Read data      |
  619.        |     |register and save original value.Write data register.|
  620.        |     |Compare data register with original value, repeat    |
  621.        |     |until data register returns to original value to     |
  622.        |     |ensure data has been sent over the interface.        |
  623.        |     +-----------------------------------------------------+
  624.        |     |Interrupts: Timer A can be set to interrupt at the   |
  625.        |     |end of a frame. Alternatively, the GPI7 (MFP mono    |
  626.        |     |detect) can be used to generate interrupts thereby   |
  627.        |     |freeing up Timer A. In this case, the active edge    |
  628.        |     |$FFFA03 must be set by or-ing the active edge of     |
  629.        |     |$FFFA03 with the contents of $FF8260:                |
  630.        |     |$FF8260 - 2 (mono)     or.b  #$80 with edge          |
  631.        |     |$FF8260 - 0,1 (colour) and.b #$7F with edge          |
  632.        |     |This will generate an interrupt at the START of a    |
  633.        |     |frame, instead of at the end as with Timer A. To     |
  634.        |     |generate an interrupt at the END of a frame, simply  |
  635.        |     |reverse the edge values.                             |
  636. -------+-----+-----------------------------------------------------+----------
  637. ##############Falcon030 DMA/DSP Controllers                        ###########
  638. -------+-----+-----------------------------------------------------+----------
  639. $FF8930|word |Crossbar Source Controller                           |R/W (F030)
  640.        |     +-----------------------------------------------------+
  641.        |     |Source: External Input                    BIT 3 2 1 0|
  642.        |     |0 - DSP IN, 1 - All others -------------------' | | ||
  643.        |     |00 - 25.175Mhz clock ---------------------------+-+ ||
  644.        |     |01 - External clock ----------------------------+-+ ||
  645.        |     |10 - 32Mhz clock -------------------------------+-' ||
  646.        |     |0 - Handshake on, 1 - Handshake off ----------------'|
  647.        |     +-----------------------------------------------------+
  648.        |     |Source: A/D Convertor                     BIT 7 6 5 4|
  649.        |     |1 - Connect, 0 - disconnect ------------------' | | ||
  650.        |     |00 - 25.175Mhz clock ---------------------------+-+ ||
  651.        |     |01 - External clock ----------------------------+-+ ||
  652.        |     |10 - 32Mhz clock (Don't use) -------------------+-' ||
  653.        |     |0 - Handshake on, 1 - Handshake off ----------------'|
  654.        |     +-----------------------------------------------------+
  655.        |     |Source: DMA-PLAYBACK                    BIT 11 10 9 8|
  656.        |     |0 - Handshaking on, dest DSP-REC ------------+  | | ||
  657.        |     |1 - Destination is not DSP-REC --------------'  | | ||
  658.        |     |00 - 25.175Mhz clock ---------------------------+-+ ||
  659.        |     |01 - External clock ----------------------------+-+ ||
  660.        |     |10 - 32Mhz clock -------------------------------+-' ||
  661.        |     |0 - Handshake on, 1 - Handshake off ----------------'|
  662.        |     +-----------------------------------------------------+
  663.        |     |Source: DSP-XMIT                      Bit 15 14 13 12|
  664.        |     |0 - Tristate and disconnect DSP -----------+  |  |  ||
  665.        |     |    (Only for external SSI use)            |  |  |  ||
  666.        |     |1 - Connect DSP to multiplexer ------------'  |  |  ||
  667.        |     |00 - 25.175Mhz clock -------------------------+--+  ||
  668.        |     |01 - External clock --------------------------+--+  ||
  669.        |     |10 - 32Mhz clock -----------------------------+--'  ||
  670.        |     |0 - Handshake on, 1 - Handshake off ----------------'|
  671. -------+-----+-----------------------------------------------------+----------
  672. $FF8932|word |Crossbar Destination Controller                      |R/W (F030)
  673.        |     +-----------------------------------------------------+
  674.        |     |Destination: External Output              BIT 3 2 1 0|
  675.        |     |0 - DSP out, 1 - All others ------------------' | | ||
  676.        |     |00 - Source DMA-PLAYBACK -----------------------+-+ ||
  677.        |     |01 - Source DSP-XMIT ---------------------------+-+ ||
  678.        |     |10 - Source External Input ---------------------+-+ ||
  679.        |     |11 - Source A/D Convertor ----------------------+-' ||
  680.        |     |0 - Handshake on, 1 - Handshake off ----------------'|
  681.        |     +-----------------------------------------------------+
  682.        |     |Destination: D/A Convertor                BIT 7 6 5 4|
  683.        |     |1 - Connect, 0 - Disconnect ------------------' | | ||
  684.        |     |00 - Source DMA-PLAYBACK -----------------------+-+ ||
  685.        |     |01 - Source DSP-XMIT ---------------------------+-+ ||
  686.        |     |10 - Source External Input ---------------------+-+ ||
  687.        |     |11 - Source A/D Convertor ----------------------+-' ||
  688.        |     |0 - Handshake on, 1 - Handshake off ----------------'|
  689.        |     +-----------------------------------------------------+
  690.        |     |Destination: DMA-RECORD                 BIT 11 10 9 8|
  691.        |     |0 - Handshaking on, src DSP-XMIT ------------+  | | ||
  692.        |     |1 - Source is not DSP-XMIT ------------------'  | | ||
  693.        |     |00 - Source DMA-PLAYBACK -----------------------+-+ ||
  694.        |     |01 - Source DSP-XMIT ---------------------------+-+ ||
  695.        |     |10 - Source External Input ---------------------+-+ ||
  696.        |     |11 - Source A/D Convertor ----------------------+-' ||
  697.        |     |0 - Handshake on, 1 - Handshake off ----------------'|
  698.        |     +-----------------------------------------------------+
  699.        |     |Destination: DSP-RECORD               BIT 15 14 13 12|
  700.        |     |0 - Tristate and disconnect DSP -----------+  |  |  ||
  701.        |     |    (Only for external SSI use)            |  |  |  ||
  702.        |     |1 - Connect DSP to multiplexer ------------'  |  |  ||
  703.        |     |00 - Source DMA-PLAYBACK ---------------------+--+  ||
  704.        |     |01 - Source DSP-XMIT -------------------------+--+  ||
  705.        |     |10 - Source External Input -------------------+--+  ||
  706.        |     |11 - Source A/D Convertor --------------------+--'  ||
  707.        |     |0 - Handshake on, 1 - Handshake off ----------------'|
  708. -------+-----+-----------------------------------------------------+----------
  709. $FF8934|byte |Frequency Divider External Clock          BIT 3 2 1 0|R/W (F030)
  710.        |     |0000 - STe-Compatible mode                           |
  711.        |     |0001 - 1111  Divide by 256 and then number           |
  712. -------+-----+-----------------------------------------------------+----------
  713. $FF8935|byte |Frequency Divider Internal Sync           BIT 3 2 1 0|R/W (F030)
  714.        |     |0000 - STe-Compatible mode   1000 - 10927Hz*         |
  715.        |     |0001 - 49170Hz               1001 -  9834Hz          |
  716.        |     |0010 - 32780Hz               1010 -  8940Hz*         |
  717.        |     |0011 - 24585Hz               1011 -  8195Hz          |
  718.        |     |0100 - 19668Hz               1100 -  7565Hz*         |
  719.        |     |0101 - 16390Hz               1101 -  7024Hz*         |
  720.        |     |0110 - 14049Hz*              1110 -  6556Hz*         |
  721.        |     |0111 - 12292Hz               1111 -  6146Hz*         |
  722.        |     |               * - Invalid for CODEC                 |
  723. -------+-----+-----------------------------------------------------+----------
  724. $FF8936|byte |Record Tracks Select                          BIT 1 0|R/W (F030)
  725.        |     |00 - Record 1 Track ------------------------------+-+|
  726.        |     |01 - Record 2 Tracks -----------------------------+-+|
  727.        |     |10 - Record 3 Tracks -----------------------------+-+|
  728.        |     |11 - Record 4 Tracks -----------------------------+-'|
  729. -------+-----+-----------------------------------------------------+----------
  730. $FF8937|byte |CODEC Input Source from 16bit adder           BIT 1 0|R/W (F030)
  731.        |     |Source: Multiplexer ------------------------------' ||
  732.        |     |Source: A/D Convertor ------------------------------'|
  733. -------+-----+-----------------------------------------------------+----------
  734. $FF8938|byte |CODEC ADC-Input for L+R Channel               BIT 1 0|R/W (F030)
  735.        |     |0 - Microphone, 1 - Soundchip                     L R|
  736. -------+-----+-----------------------------------------------------+----------
  737. $FF8939|byte |Channel amplification                   BIT LLLL RRRR|R/W (F030)
  738.        |     |          Amplification is in +1.5dB steps           |
  739. -------+-----+-----------------------------------------------------+----------
  740. $FF893A|word |Channel attenuation                     BIT LLLL RRRR|R/W (F030)
  741.        |     |           Attenuation is in -1.5dB steps            |
  742. -------+-----+-----------------------------------------------------+----------
  743. $FF893C|byte |CODEC-Status                                  BIT 1 0|R/W (F030)
  744.        |     |Left Channel Overflow ----------------------------' ||
  745.        |     |Right Channel Overflow -----------------------------'|
  746. -------+-----+-----------------------------------------------------+----------
  747. $FF8941|byte |GPx Data Direction                          BIT 2 1 0|R/W (F030)
  748.        |     |0 - In, 1 - Out --------------------------------+-+-'|
  749.        |     | For the GP0-GP2 pins on the DSP connector           |
  750. -------+-----+-----------------------------------------------------+----------
  751. $FF8943|byte |GPx Data Port                               BIT 2 1 0|R/W (F030)
  752. -------+-----+-----------------------------------------------------+----------
  753. ##############TT Clock Chip (MC146818A @ 32.768 khz)               ###########
  754. -------+-----+-----------------------------------------------------+----------
  755. $FF8961|byte |Register select                                      |W     (TT)
  756. $FF8963|byte |Register data                                        |R/W   (TT)
  757. -------+-----+-----------------------------------------------------+----------
  758. ##############Blitter (Not present on TT!)                         ###########
  759. -------+-----+-----------------------------------------------------+----------
  760. $FF8A00|word |Halftone-RAM, Word 0                                 |R/W (Blit)
  761.     :  |  :  |    :     :     :  :                                 | :     :
  762. $FF8A1E|word |Halftone-RAM, Word 15                                |R/W (Blit)
  763. $FF8A20|word |Source X Increment                      (signed,even)|R/W (Blit)
  764. $FF8A22|word |Source Y Increment                      (signed,even)|R/W (Blit)
  765. $FF8A24|long |Source Address Register                 (24 bit,even)|R/W (Blit)
  766. $FF8A28|word |Endmask 1                     (First write of a line)|R/W (Blit)
  767. $FF8A2A|word |Endmask 2                     (All other line writes)|R/W (Blit)
  768. $FF8A2C|word |Endmask 3                      (Last write of a line)|R/W (Blit)
  769. $FF8A2E|word |Destination X Increment                 (signed,even)|R/W (Blit)
  770. $FF8A30|word |Destination Y Increment                 (signed,even)|R/W (Blit)
  771. $FF8A32|long |Destination Address Register            (24 bit,even)|R/W (Blit)
  772. $FF8A36|word |Words per Line in Bit-Block                 (0=65536)|R/W (Blit)
  773. $FF8A38|word |Lines per Bit-Block                         (0=65536)|R/W (Blit)
  774. $FF8A3A|byte |Halftone Operation Register                   BIT 1 0|R/W (Blit)
  775.        |     |00 - All ones ------------------------------------+-+|
  776.        |     |01 - Halftone ------------------------------------+-+|
  777.        |     |10 - Source --------------------------------------+-+|
  778.        |     |11 - Source AND Halftone -------------------------+-'|
  779. $FF8A3B|byte |Logical Operation Register                BIT 3 2 1 0|R/W (Blit)
  780.        |     |0000 All zeros -------------------------------+-+-+-+|
  781.        |     |0001 Source AND destination ------------------+-+-+-+|
  782.        |     |0010 Source AND NOT destination --------------+-+-+-+|
  783.        |     |0011 Source ----------------------------------+-+-+-+|
  784.        |     |0100 NOT source AND destination --------------+-+-+-+|
  785.        |     |0101 Destination -----------------------------+-+-+-+|
  786.        |     |0110 Source XOR destination ------------------+-+-+-+|
  787.        |     |0111 Source OR destination -------------------+-+-+-+|
  788.        |     |1000 NOT source AND NOT destination ----------+-+-+-+|
  789.        |     |1001 NOT source XOR destination --------------+-+-+-+|
  790.        |     |1010 NOT destination -------------------------+-+-+-+|
  791.        |     |1011 Source OR NOT destination ---------------+-+-+-+|
  792.        |     |1100 NOT source ------------------------------+-+-+-+|
  793.        |     |1101 NOT source OR destination ---------------+-+-+-+|
  794.        |     |1110 NOT source OR NOT destination -----------+-+-+-+|
  795.        |     |1111 All ones --------------------------------+-+-+-'|
  796. $FF8A3C|byte |Line Number Register              BIT 7 6 5 . 3 2 1 0|R/W (Blit)
  797.        |     |BUSY ---------------------------------' | |   | | | ||
  798.        |     |0 - Share bus, 1 - Hog bus -------------' |   | | | ||
  799.        |     |SMUDGE mode ------------------------------'   | | | ||
  800.        |     |Halftone line number -------------------------+-+-+-'|
  801. $FF8A3D|byte |SKEW Register                     BIT 7 6 . . 3 2 1 0|R/W (Blit)
  802.        |     |Force eXtra Source Read --------------' |     | | | ||
  803.        |     |No Final Source Read -------------------'     | | | ||
  804.        |     |Source skew ----------------------------------+-+-+-'|
  805. -------+-----+-----------------------------------------------------+----------
  806. ##############SCC-DMA (TT Only!)                                   ###########
  807. -------+-----+-----------------------------------------------------+----------
  808. $FF8C01|byte |DMA Address Pointer (Highest Byte)                   |R/W   (TT)
  809. $FF8C03|byte |DMA Address Pointer (High Byte)                      |R/W   (TT)
  810. $FF8C05|byte |DMA Address Pointer (Low Byte)                       |R/W   (TT)
  811. $FF8C07|byte |DMA Address Pointer (Lowest Byte)                    |R/W   (TT)
  812. $FF8C09|byte |DMA Byte Count (Highest-Byte)                        |R/W   (TT)
  813. $FF8C0B|byte |DMA Byte Count (High-Byte)                           |R/W   (TT)
  814. $FF8C0D|byte |DMA Byte Count (Low-Byte)                            |R/W   (TT)
  815. $FF8C0F|byte |DMA Byte Count (Lowest-Byte)                         |R/W   (TT)
  816. $FF8C10|word |Residue Data Register (High-Word)                    |R     (TT)
  817. $FF8C12|word |Residue Data register (Low-Word)                     |R     (TT)
  818. $FF8C15|byte |Control register                  BIT 7 6 . . . . 1 0|R/W   (TT)
  819.        |     |Bus error ----------------------------' |         | ||
  820.        |     |Byte count zero ------------------------'         | ||
  821.        |     |Enable -------------------------------------------' ||
  822.        |     |DMA Direction (1 - out to port) --------------------'|
  823. -------+-----+-----------------------------------------------------+----------
  824. ##############Zilog 8530 SCC (MSTe/TT/F030)                        ###########
  825. -------+-----+-----------------------------------------------------+----------
  826. $FF8C81|byte |Channel A - Control Register                         |R/W  (SCC)
  827. $FF8C83|byte |Channel A - Data Register                            |R/W  (SCC)
  828. $FF8C85|byte |Channel B - Control Register                         |R/W  (SCC)
  829. $FF8C87|byte |Channel B - Data Register                            |R/W  (SCC)
  830. -------+-----+-----------------------------------------------------+----------
  831. ##############VME Bus System Control Unit (MSTe/TT)                ###########
  832. -------+-----+-----------------------------------------------------+----------
  833. $FF8E01|byte |VME sys_mask                      BIT 7 6 5 4 . 2 1 .|R/W  (VME)
  834. $FF8E03|byte |VME sys_stat                      BIT 7 6 5 4 . 2 1 .|R    (VME)
  835.        |     |_SYSFAIL in VMEBUS -------------------' | | |   | |  |program
  836.        |     |MFP ------------------------------------' | |   | |  |autovec
  837.        |     |SCC --------------------------------------' |   | |  |autovec
  838.        |     |VSYNC --------------------------------------'   | |  |program
  839.        |     |HSYNC ------------------------------------------' |  |program
  840.        |     |System software INT ------------------------------'  |program
  841.        |     +-----------------------------------------------------+
  842.        |     |Reading sys_mask resets pending int-bits in sys_stat,|
  843.        |     |so read sys_stat first.                              |
  844. -------+-----+-----------------------------------------------------+----------
  845. $FF8E05|byte |VME sys_int                                     BIT 0|R/W  (VME)
  846.        |     |Setting bit 0 to 1 forces an INT of level 1. INT must|Vector $64
  847.        |     |be enabled in sys_mask to use it.                    |
  848. -------+-----+-----------------------------------------------------+----------
  849. $FF8E0D|byte |VME vme_mask                      BIT 7 6 5 4 3 2 1 .|R/W  (VME)
  850. $FF8E0F|byte |VME vme_stat                      BIT 7 6 5 4 3 2 1 .|R    (VME)
  851.        |     |_IRQ7 from VMEBUS --------------------' | | | | | |  |program
  852.        |     |_IRQ6 from VMEBUS/MFP ------------------' | | | | |  |program
  853.        |     |_IRQ5 from VMEBUS/SCC --------------------' | | | |  |program
  854.        |     |_IRQ4 from VMEBUS --------------------------' | | |  |program
  855.        |     |_IRQ3 from VMEBUS/soft -----------------------' | |  |prog/autov
  856.        |     |_IRQ2 from VMEBUS ------------------------------' |  |program
  857.        |     |_IRQ1 from VMEBUS --------------------------------'  |program
  858.        |     +-----------------------------------------------------+
  859.        |     |MFP-int and SCC-int are hardwired to the VME-BUS-ints|
  860.        |     |(or'ed). Reading vme_mask resets pending int-bits in |
  861.        |     |vme_stat, so read vme_stat first.                    |
  862. -------+-----+-----------------------------------------------------+----------
  863. $FF8E07|byte |VME vme_int                                     BIT 0|R/W   (TT)
  864.        |     |Setting bit 0 to 1 forces an INT of level 3. INT must|Vector $6C
  865.        |     |be enabled in vme_mask to use it.                    |
  866. -------+-----+-----------------------------------------------------+----------
  867. $FF8E09|byte |General purpose register - does nothing              |R/W   (TT)
  868. $FF8E0B|byte |General purpose register - does nothing              |R/W   (TT)
  869. -------+-----+-----------------------------------------------------+----------
  870. ##############Mega STe Cache/Processor Control                     ###########
  871. -------+-----+-----------------------------------------------------+----------
  872. $FF8E21|byte |Mega STe Cache/Processor Control                     |R/W (MSTe)
  873. -------+-----+-----------------------------------------------------+----------
  874. ##############STe/F030 Extended Joystick/Lightpen Ports            ###########
  875. -------+-----+-----------------------------------------------------+----------
  876. $FF9200|word |Fire buttons 1-4                          Bit 3 2 1 0|R    (Ext)
  877.        |     |Pause/F0 -------------------------------------' | | ||
  878.        |     |F1 ---------------------------------------------' | ||
  879.        |     |F2 -----------------------------------------------' ||
  880.        |     |Option/F3 ------------------------------------------'|
  881. $FF9202|word |Read Mask (0 - pin read)                             |W    (Ext)
  882. $FF9202|word |Joystick Inputs                   BIT 7 6 5 4 3 2 1 0|R    (Ext)
  883.        |     |Controller 1 pin 4 -------------------' | | | | | | ||
  884.        |     |Controller 1 pin 3 ---------------------' | | | | | ||
  885.        |     |Controller 1 pin 2 -----------------------' | | | | ||
  886.        |     |Controller 1 pin 1 -------------------------' | | | ||
  887.        |     |Controller 0 pin 4 ---------------------------' | | ||
  888.        |     |Controller 0 pin 3/Paddle 1 Trigger ------------' | ||
  889.        |     |Controller 0 pin 2/Paddle 0 Trigger --------------' ||
  890.        |     |Controller 0 pin 1 ---------------------------------'|
  891.        |     |                            BIT 15 14 13 12 11 10 9 8|
  892.        |     |Controller 1 pin 14 ------------'   |  |  |  |  | | ||
  893.        |     |Controller 1 pin 13 ----------------'  |  |  |  | | ||
  894.        |     |Controller 1 pin 12 -------------------'  |  |  | | ||
  895.        |     |Controller 1 pin 11 ----------------------'  |  | | ||
  896.        |     |Controller 0 pin 14 -------------------------'  | | ||
  897.        |     |Controller 0 pin 13 ----------------------------' | ||
  898.        |     |Controller 0 pin 12 ------------------------------' ||
  899.        |     |Controller 0 pin 11 --------------------------------'|
  900. $FF9210|word |X Paddle 0 Position               BIT 7 6 5 4 3 2 1 0|R    (Ext)
  901. $FF9212|word |Y Paddle 0 Position               BIT 7 6 5 4 3 2 1 0|R    (Ext)
  902. $FF9214|word |X Paddle 1 Position               BIT 7 6 5 4 3 2 1 0|R    (Ext)
  903. $FF9216|word |Y Paddle 1 Position               BIT 7 6 5 4 3 2 1 0|R    (Ext)
  904. $FF9220|word |Lightpen X-Position           BIT 9 8 7 6 5 4 3 2 1 0|R    (Ext)
  905. $FF9222|word |Lightpen Y-Position           BIT 9 8 7 6 5 4 3 2 1 0|R    (Ext)
  906. -------+-----+-----------------------------------------------------+----------
  907. ##############Falcon VIDEL Palette Registers                       ###########
  908. -------+-----+-----------------------------------------------------+----------
  909.        |     |              BIT 33222222 22221111 11111198 76543210|
  910.        |     |                  10987654 32109876 543210           |
  911.        |     |                  RRRRRr.. GGGGGg.. ........ BBBBBb..|
  912. $FF9800|long |Palette Register  0                   Lowercase = LSB|R/W (F030)
  913.    :   |  :  |   :        :     :                                  | :     :
  914. $FF98FC|long |Palette Register 255                                 |R/W (F030)
  915. -------+-----+-----------------------------------------------------+----------
  916. ##############Falcon DSP Host Interface                            ###########
  917. -------+-----+-----------------------------------------------------+----------
  918. $FFA200|byte |Interrupt Ctrl Register           BIT 7 6 5 4 3 . 1 0|R/W (F030)
  919. X:$FFE9|     |INIT bit -----------------------------' | | | |   | ||
  920.        |     |00 - Interupt mode (DMA off) -----------+-+ | |   | ||
  921.        |     |01 - 24-bit DMA mode -------------------+-+ | |   | ||
  922.        |     |10 - 16-bit DMA mode -------------------+-+ | |   | ||
  923.        |     |11 - 8-bit DMA mode --------------------+-' | |   | ||
  924.        |     |Host Flag 1 --------------------------------' |   | ||
  925.        |     |Host Flag 0 ----------------------------------'   | ||
  926.        |     |         Host mode Data transfers:                | ||
  927.        |     |              Interrupt mode                      | ||
  928.        |     |00 - No interrupts (Polling) ---------------------+-+|
  929.        |     |01 - RXDF Request (Interrupt) --------------------+-+|
  930.        |     |10 - TXDE Request (Interrupt) --------------------+-+|
  931.        |     |11 - RXDF and TXDE Request (Interrupts) ----------+-+|
  932.        |     |                 DMA Mode                         | ||
  933.        |     |00 - No DMA --------------------------------------+-+|
  934.        |     |01 - DSP to Host Request (RX) --------------------+-+|
  935.        |     |10 - Host to DSP Request (TX) --------------------+-+|
  936.        |     |11 - Undefined (Illegal) -------------------------+-'|
  937. $FFA201|byte |Command Vector Register           BIT 7 . . 4 3 2 1 0|R/W (F030)
  938. X:$FFE9|     |Host Command Bit (Handshake)----------'     | | | | ||
  939.        |     |Host Vector (0-31) -------------------------+-+-+-+-'|
  940. $FFA202|byte |Interrupt Status Reg              BIT 7 6 . 4 3 2 1 0|R   (F030)
  941. X:$FFE8|     |ISR Host Request ---------------------' |   | | | | ||
  942.        |     |ISR DMA Status -------------------------'   | | | | ||
  943.        |     |Host Flag 3 --------------------------------' | | | ||
  944.        |     |Host Flag 2 ----------------------------------' | | ||
  945.        |     |ISR Transmitter Ready (TRDY) -------------------' | ||
  946.        |     |ISR Transmit Data Register Empty (TXDE) ----------' ||
  947.        |     |ISR Receive Data Register Full (RXDF) --------------'|
  948. $FFA203|byte |Interrupt Vector Register                            |R/W (F030)
  949. $FFA204|byte |Unused                                               |    (F030)
  950. $FFA205|byte |DSP-Word High                                        |R/W (F030)
  951. X:$FFEB|     |                                                     |
  952. $FFA206|byte |DSP-Word Mid                                         |R/W (F030)
  953. X:$FFEB|     |                                                     |
  954. $FFA207|byte |DSP-Word Low                                         |R/W (F030)
  955. X:$FFEB|     |                                                     |
  956. -------+-----+-----------------------------------------------------+----------
  957. ##############MFP 68901 - Multi Function Peripheral Chip           ###########
  958. -------+-----+-----------------------------------------------------+----------
  959.        |     |     MFP Master Clock is 2,457,600 cycles/second     |
  960. -------+-----+-----------------------------------------------------+----------
  961. $FFFA01|byte |Parallel Port Data Register                          |R/W
  962. -------+-----+-----------------------------------------------------+----------
  963. $FFFA03|byte |Active Edge Register              BIT 7 6 5 4 . 2 1 0|R/W
  964.        |     |Monochrome monitor detect ------------' | | | | | | ||
  965.        |     |RS-232 Ring indicator ------------------' | | | | | ||
  966.        |     |FDC/HDC interrupt ------------------------' | | | | ||
  967.        |     |Keyboard/MIDI interrupt --------------------' | | | ||
  968.        |     |Reserved -------------------------------------' | | ||
  969.        |     |RS-232 CTS (input) -----------------------------' | ||
  970.        |     |RS-232 DCD (input) -------------------------------' ||
  971.        |     |Centronics busy ------------------------------------'|
  972.        |     +-----------------------------------------------------+
  973.        |     |       When port bits are used for input only:       |
  974.        |     |0 - Interrupt on pin high-low conversion             |
  975.        |     |1 - Interrupt on pin low-high conversion             |
  976. -------+-----+-----------------------------------------------------+----------
  977. $FFFA05|byte |Data Direction                    BIT 7 6 5 4 3 2 1 0|R/W
  978.        |     |0 - In, 1 - Out ----------------------+-+-+-+-+-+-+-'|
  979. -------+-----+-----------------------------------------------------+----------
  980. $FFFA07|byte |Interrupt Enable A                BIT 7 6 5 4 3 2 1 0|R/W
  981. $FFFA0B|byte |Interrupt Pending A               BIT 7 6 5 4 3 2 1 0|R/W
  982. $FFFA0F|byte |Interrupt In-service A            BIT 7 6 5 4 3 2 1 0|R/W
  983. $FFFA13|byte |Interrupt Mask A                  BIT 7 6 5 4 3 2 1 0|R/W
  984.        |     |MFP Address                           | | | | | | | ||
  985.        |     |$13C GPI7-Monochrome Detect ----------' | | | | | | ||
  986.        |     |$138   RS-232 Ring Detector ------------' | | | | | ||
  987.        |     |$134 (STe sound)    Timer A --------------' | | | | ||
  988.        |     |$130    Receive buffer full ----------------' | | | ||
  989.        |     |$12C          Receive error ------------------' | | ||
  990.        |     |$128      Send buffer empty --------------------' | ||
  991.        |     |$124             Send error ----------------------' ||
  992.        |     |$120 (HBL)          Timer B ------------------------'|
  993.        |     |1 - Enable Interrupt            0 - Disable Interrupt|
  994. -------+-----+-----------------------------------------------------+----------
  995. $FFFA09|byte |Interrupt Enable B                BIT 7 6 5 4 3 2 1 0|R/W
  996. $FFFA0D|byte |Interrupt Pending B               BIT 7 6 5 4 3 2 1 0|R/W
  997. $FFFA11|byte |Interrupt In-service B            BIT 7 6 5 4 3 2 1 0|R/W
  998. $FFFA15|byte |Interrupt Mask B                  BIT 7 6 5 4 3 2 1 0|R/W
  999.        |     |MFP Address                           | | | | | | | ||
  1000.        |     |$11C                FDC/HDC ----------' | | | | | | ||
  1001.        |     |$118          Keyboard/MIDI ------------' | | | | | ||
  1002.        |     |$114 (200hz clock)  Timer C --------------' | | | | ||
  1003.        |     |$110 (USART timer)  Timer D ----------------' | | | ||
  1004.        |     |$10C           Blitter done ------------------' | | ||
  1005.        |     |$108     RS-232 CTS - input --------------------' | ||
  1006.        |     |$104     RS-232 DCD - input ----------------------' ||
  1007.        |     |$100        Centronics Busy ------------------------'|
  1008.        |     |1 - Enable Interrupt            0 - Disable Interrupt|
  1009. -------+-----+-----------------------------------------------------+----------
  1010. $FFFA17|byte |Vector Register                   BIT 7 6 5 4 3 . . .|R/W
  1011.        |     |Vector Base Offset -------------------+-+-+-' |      |
  1012.        |     |1 - *Software End-interrupt mode -------------+      |
  1013.        |     |0 - Automatic End-interrupt mode -------------'      |
  1014.        |     |* - Default operating mode                           |
  1015. -------+-----+-----------------------------------------------------+----------
  1016. $FFFA19|byte |Timer A Control                         BIT 4 3 2 1 0|R/W
  1017. $FFFA1B|byte |Timer B Control                         BIT 4 3 2 1 0|R/W
  1018.        |     |Reset (force output low) -------------------' | | | ||
  1019.        |     +----------------------------------------------+-+-+-++
  1020.        |     |0000 - Timer stop, no function executed              |
  1021.        |     |0001 - Delay mode, divide by 4                       |
  1022.        |     |0010 -     :           :     10                      |
  1023.        |     |0011 -     :           :     16                      |
  1024.        |     |0100 -     :           :     50                      |
  1025.        |     |0101 -     :           :     64                      |
  1026.        |     |0110 -     :           :     100                     |
  1027.        |     |0111 - Delay mode, divide by 200                     |
  1028.        |     |1000 - Event count mode                              |
  1029.        |     |1xxx - Pulse extension mode, divide as above         |
  1030.        |     +-----------------------------------------------------+
  1031. $FFFA1F|byte |Timer A Data                                         |R/W
  1032. $FFFA21|byte |Timer B Data                                         |R/W
  1033. -------+-----+-----------------------------------------------------+----------
  1034. $FFFA1D|byte |Timer C & D Control                 BIT 6 5 4 . 2 1 0|R/W
  1035.        |     |                                        Timer   Timer|
  1036.        |     |                                          C       D  |
  1037.        |     +-----------------------------------------------------+
  1038.        |     |000 - Timer stop                                     |
  1039.        |     |001 - Delay mode, divide by 4                        |
  1040.        |     |010 -      :           :    10                       |
  1041.        |     |011 -      :           :    16                       |
  1042.        |     |100 -      :           :    50                       |
  1043.        |     |101 -      :           :    64                       |
  1044.        |     |110 -      :           :    100                      |
  1045.        |     |111 - Delay mode, divide by 200                      |
  1046.        |     +-----------------------------------------------------+
  1047. $FFFA23|byte |Timer C Data                                         |R/W
  1048. $FFFA25|byte |Timer D Data                                         |R/W
  1049. -------+-----+-----------------------------------------------------+----------
  1050. $FFFA27|byte |Sync Character                                       |R/W
  1051. $FFFA29|byte |USART Control                     BIT 7 6 5 4 3 2 1 .|R/W
  1052.        |     |Clock divide (1 - div by 16) ---------' | | | | | | ||
  1053.        |     |Word Length 00 - 8 bits ----------------+-+ | | | | ||
  1054.        |     |            01 - 7 bits ----------------+-+ | | | | ||
  1055.        |     |            10 - 6 bits ----------------+-+ | | | | ||
  1056.        |     |            11 - 5 bits ----------------+-' | | | | ||
  1057.        |     |Bits Stop Start Format                      | | | | ||
  1058.        |     |00     0    0   Synchronous ----------------+-+ | | ||
  1059.        |     |01     1    1   Asynchronous ---------------+-+ | | ||
  1060.        |     |10     1    1.5 Asynchronous ---------------+-+ | | ||
  1061.        |     |11     1    2   Asynchronous ---------------+-' | | ||
  1062.        |     |Parity (0 - ignore parity bit) -----------------' | ||
  1063.        |     |Parity (0 - odd parity,1 - even) -----------------' ||
  1064.        |     |Unused ---------------------------------------------'|
  1065. $FFFA2B|byte |Receiver Status                   BIT 7 6 5 4 3 2 1 0|R/W
  1066.        |     |Buffer full --------------------------' | | | | | | ||
  1067.        |     |Overrun error --------------------------' | | | | | ||
  1068.        |     |Parity error -----------------------------' | | | | ||
  1069.        |     |Frame error --------------------------------' | | | ||
  1070.        |     |Found - Search/Break detected ----------------' | | ||
  1071.        |     |Match/Character in progress --------------------' | ||
  1072.        |     |Synchronous strip enable -------------------------' ||
  1073.        |     |Receiver enable bit --------------------------------'|
  1074. $FFFA2D|byte |Transmitter Status                BIT 7 6 5 4 3 2 1 0|R/W
  1075.        |     |Buffer empty -------------------------' | | | | | | ||
  1076.        |     |Underrun error -------------------------' | | | | | ||
  1077.        |     |Auto turnaround --------------------------' | | | | ||
  1078.        |     |End of transmission ------------------------' | | | ||
  1079.        |     |Break ----------------------------------------' | | ||
  1080.        |     |High bit ---------------------------------------' | ||
  1081.        |     |Low bit ------------------------------------------' ||
  1082.        |     |Transmitter enable ---------------------------------'|
  1083. $FFFA2F|byte |USART data                                           |R/W
  1084. -------+-----+-----------------------------------------------------+----------
  1085. ##############Floating Point Coprocessor (in MSTe)                 ###########
  1086. -------+-----+-----------------------------------------------------+----------
  1087. $FFFA40|???? |FP_Stat    Response-Register                         |??? (MSTe)
  1088. $FFFA42|???? |FP_Ctl     Control-Register                          |??? (MSTe)
  1089. $FFFA44|???? |FP_Save    Save-Register                             |??? (MSTe)
  1090. $FFFA46|???? |FP_Restor  Restore-Register                          |??? (MSTe)
  1091. $FFFA4A|???? |FP_Cmd     Command-Register                          |??? (MSTe)
  1092. $FFFA4E|???? |FP_Ccr     Condition-Code-Register                   |??? (MSTe)
  1093. $FFFA50|???? |FP_Op      Operanden-Register                        |??? (MSTe)
  1094. $FFFA54|???? |FP_Selct   Register Select                           |??? (MSTe)
  1095. $FFFA58|???? |FP_Iadr    Instruction Address                       |??? (MSTe)
  1096. -------+-----+-----------------------------------------------------+----------
  1097. ##############MFP 68901 #2 (MFP2) - TT Only                        ###########
  1098. -------+-----+-----------------------------------------------------+----------
  1099. $FFFA81|byte |Parallel Port Data Register                          |R/W   (TT)
  1100. -------+-----+-----------------------------------------------------+----------
  1101. $FFFA83|byte |Active Edge Register              BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1102.        |     +-----------------------------------------------------+
  1103.        |     |       When port bits are used for input only:       |
  1104.        |     |0 - Interrupt on pin high-low conversion             |
  1105.        |     |1 - Interrupt on pin low-high conversion             |
  1106. -------+-----+-----------------------------------------------------+----------
  1107. $FFFA85|byte |Data Direction                    BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1108.        |     |0 - In, 1 - Out ----------------------+-+-+-+-+-+-+-'|
  1109. -------+-----+-----------------------------------------------------+----------
  1110. $FFFA87|byte |Interrupt Enable A                BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1111. $FFFA8B|byte |Interrupt Pending A               BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1112. $FFFA8F|byte |Interrupt In-service A            BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1113. $FFFA93|byte |Interrupt Mask A                  BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1114.        |     |MFP Address                           | | | | | | | ||
  1115.        |     |$17C General Purpose Input 7 ---------' | | | | | | ||
  1116.        |     |$178 General Purpose Input 6 -----------' | | | | | ||
  1117.        |     |$174                 Timer A -------------' | | | | ||
  1118.        |     |$170     Receive buffer full ---------------' | | | ||
  1119.        |     |$16C           Receive error -----------------' | | ||
  1120.        |     |$168       Send buffer empty -------------------' | ||
  1121.        |     |$164              Send error ---------------------' ||
  1122.        |     |$160                 Timer B -----------------------'|
  1123.        |     |1 - Enable Interrupt            0 - Disable Interrupt|
  1124. -------+-----+-----------------------------------------------------+----------
  1125. $FFFA89|byte |Interrupt Enable B                BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1126. $FFFA8D|byte |Interrupt Pending B               BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1127. $FFFA91|byte |Interrupt In-service B            BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1128. $FFFA95|byte |Interrupt Mask B                  BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1129.        |     |MFP Address                           | | | | | | | ||
  1130.        |     |$15C General Purpose Input 5 ---------' | | | | | | ||
  1131.        |     |$158 General Purpose Input 4 -----------' | | | | | ||
  1132.        |     |$154                 Timer C -------------' | | | | ||
  1133.        |     |$150                 Timer D ---------------' | | | ||
  1134.        |     |$14C General Purpose Input 3 -----------------' | | ||
  1135.        |     |$148 General Purpose Input 2 -------------------' | ||
  1136.        |     |$144 General Purpose Input 1 ---------------------' ||
  1137.        |     |$140 General Purpose Input 0 -----------------------'|
  1138.        |     |1 - Enable Interrupt            0 - Disable Interrupt|
  1139. -------+-----+-----------------------------------------------------+----------
  1140. $FFFA97|byte |Vector Register                   BIT 7 6 5 4 3 . . .|R/W   (TT)
  1141.        |     |Vector Base Offset -------------------+-+-+-' |      |
  1142.        |     |1 - *Software End-interrupt mode -------------+      |
  1143.        |     |0 - Automatic End-interrupt mode -------------'      |
  1144.        |     |* - Default operating mode                           |
  1145. -------+-----+-----------------------------------------------------+----------
  1146. $FFFA99|byte |Timer A Control                         BIT 4 3 2 1 0|R/W   (TT)
  1147. $FFFA9B|byte |Timer B Control                         BIT 4 3 2 1 0|R/W   (TT)
  1148.        |     |Reset (force output low) -------------------' | | | ||
  1149.        |     +----------------------------------------------+-+-+-++
  1150.        |     |0000 - Timer stop, no function executed              |
  1151.        |     |0001 - Delay mode, divide by 4                       |
  1152.        |     |0010 -     :           :     10                      |
  1153.        |     |0011 -     :           :     16                      |
  1154.        |     |0100 -     :           :     50                      |
  1155.        |     |0101 -     :           :     64                      |
  1156.        |     |0110 -     :           :     100                     |
  1157.        |     |0111 - Delay mode, divide by 200                     |
  1158.        |     |1000 - Event count mode                              |
  1159.        |     |1xxx - Pulse extension mode, divide as above         |
  1160.        |     +-----------------------------------------------------+
  1161. $FFFA9F|byte |Timer A Data                                         |R/W   (TT)
  1162. $FFFAA1|byte |Timer B Data                                         |R/W   (TT)
  1163. -------+-----+-----------------------------------------------------+----------
  1164. $FFFA9D|byte |Timer C & D Control                 BIT 6 5 4 . 2 1 0|R/W   (TT)
  1165.        |     |                                        Timer   Timer|
  1166.        |     |                                          C       D  |
  1167.        |     +-----------------------------------------------------+
  1168.        |     |000 - Timer stop                                     |
  1169.        |     |001 - Delay mode, divide by 4                        |
  1170.        |     |010 -      :           :    10                       |
  1171.        |     |011 -      :           :    16                       |
  1172.        |     |100 -      :           :    50                       |
  1173.        |     |101 -      :           :    64                       |
  1174.        |     |110 -      :           :    100                      |
  1175.        |     |111 - Delay mode, divide by 200                      |
  1176.        |     +-----------------------------------------------------+
  1177. $FFFAA3|byte |Timer C Data                                         |R/W   (TT)
  1178. $FFFAA5|byte |Timer D Data                                         |R/W   (TT)
  1179. -------+-----+-----------------------------------------------------+----------
  1180. $FFFAA7|byte |Sync Character                                       |R/W   (TT)
  1181. $FFFAA9|byte |USART Control                     BIT 7 6 5 4 3 2 1 .|R/W   (TT)
  1182.        |     |Clock divide (1 - div by 16) ---------' | | | | | | ||
  1183.        |     |Word Length 00 - 8 bits ----------------+-+ | | | | ||
  1184.        |     |            01 - 7 bits ----------------+-+ | | | | ||
  1185.        |     |            10 - 6 bits ----------------+-+ | | | | ||
  1186.        |     |            11 - 5 bits ----------------+-' | | | | ||
  1187.        |     |Bits Stop Start Format                      | | | | ||
  1188.        |     |00     0    0   Synchronous ----------------+-+ | | ||
  1189.        |     |01     1    1   Asynchronous ---------------+-+ | | ||
  1190.        |     |10     1    1.5 Asynchronous ---------------+-+ | | ||
  1191.        |     |11     1    2   Asynchronous ---------------+-' | | ||
  1192.        |     |Parity (0 - ignore parity bit) -----------------' | ||
  1193.        |     |Parity (0 - odd parity,1 - even) -----------------' ||
  1194.        |     |Unused ---------------------------------------------'|
  1195. $FFFAAB|byte |Receiver Status                   BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1196.        |     |Buffer full --------------------------' | | | | | | ||
  1197.        |     |Overrun error --------------------------' | | | | | ||
  1198.        |     |Parity error -----------------------------' | | | | ||
  1199.        |     |Frame error --------------------------------' | | | ||
  1200.        |     |Found - Search/Break detected ----------------' | | ||
  1201.        |     |Match/Character in progress --------------------' | ||
  1202.        |     |Synchronous strip enable -------------------------' ||
  1203.        |     |Receiver enable bit --------------------------------'|
  1204. $FFFAAD|byte |Transmitter Status                BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  1205.        |     |Buffer empty -------------------------' | | | | | | ||
  1206.        |     |Underrun error -------------------------' | | | | | ||
  1207.        |     |Auto turnaround --------------------------' | | | | ||
  1208.        |     |End of transmission ------------------------' | | | ||
  1209.        |     |Break ----------------------------------------' | | ||
  1210.        |     |High bit ---------------------------------------' | ||
  1211.        |     |Low bit ------------------------------------------' ||
  1212.        |     |Transmitter enable ---------------------------------'|
  1213. $FFFAAF|byte |USART data                                           |R/W   (TT)
  1214. -------+-----+-----------------------------------------------------+----------
  1215. ##############6850 ACIA I/O Chips                                  ###########
  1216. -------+-----+-----------------------------------------------------+----------
  1217. $FFFC00|byte |Keyboard ACIA control             BIT 7 6 5 4 3 2 1 0|W
  1218.        |     |Rx Int enable (1 - enable) -----------' | | | | | | ||
  1219.        |     |Tx Interrupts                           | | | | | | ||
  1220.        |     |00 - RTS low, Tx int disable -----------+-+ | | | | ||
  1221.        |     |01 - RTS low, Tx int enable ------------+-+ | | | | ||
  1222.        |     |10 - RTS high, Tx int disable ----------+-+ | | | | ||
  1223.        |     |11 - RTS low, Tx int disable,           | | | | | | ||
  1224.        |     |     Tx a break onto data out ----------+-' | | | | ||
  1225.        |     |Settings                                    | | | | ||
  1226.        |     |000 - 7 bit, even, 2 stop bit --------------+-+-+ | ||
  1227.        |     |001 - 7 bit, odd, 2 stop bit ---------------+-+-+ | ||
  1228.        |     |010 - 7 bit, even, 1 stop bit --------------+-+-+ | ||
  1229.        |     |011 - 7 bit, odd, 1 stop bit ---------------+-+-+ | ||
  1230.        |     |100 - 8 bit, 2 stop bit --------------------+-+-+ | ||
  1231.        |     |101 - 8 bit, 1 stop bit --------------------+-+-+ | ||
  1232.        |     |110 - 8 bit, even, 1 stop bit --------------+-+-+ | ||
  1233.        |     |111 - 8 bit, odd, 1 stop bit ---------------+-+-' | ||
  1234.        |     |Clock divide                                      | ||
  1235.        |     |00 - Normal --------------------------------------+-+|
  1236.        |     |01 - Div by 16 -----------------------------------+-+|
  1237.        |     |10 - Div by 64 -----------------------------------+-+|
  1238.        |     |11 - Master reset --------------------------------+-'|
  1239. $FFFC00|byte |Keyboard ACIA control             BIT 7 6 5 4 3 2 1 0|R
  1240.        |     |Interrupt request --------------------' | | | | | | ||
  1241.        |     |Parity error ---------------------------' | | | | | ||
  1242.        |     |Rx overrun -------------------------------' | | | | ||
  1243.        |     |Framing error ------------------------------' | | | ||
  1244.        |     |CTS ------------------------------------------' | | ||
  1245.        |     |DCD --------------------------------------------' | ||
  1246.        |     |Tx data register empty ---------------------------' ||
  1247.        |     |Rx data register full ------------------------------'|
  1248. $FFFC02|byte |Keyboard ACIA data                                   |R/W
  1249. $FFFC04|byte |MIDI ACIA control                 BIT 7 6 5 4 3 2 1 0|W
  1250.        |     |Rx Int enable (1 - enable) -----------' | | | | | | ||
  1251.        |     |Tx Interrupts                           | | | | | | ||
  1252.        |     |00 - RTS low, Tx int disable -----------+-+ | | | | ||
  1253.        |     |01 - RTS low, Tx int enable ------------+-+ | | | | ||
  1254.        |     |10 - RTS high, Tx int disable ----------+-+ | | | | ||
  1255.        |     |11 - RTS low, Tx int disable,           | | | | | | ||
  1256.        |     |     Tx a break onto data out ----------+-' | | | | ||
  1257.        |     |Settings                                    | | | | ||
  1258.        |     |000 - 7 bit, even, 2 stop bit --------------+-+-+ | ||
  1259.        |     |001 - 7 bit, odd, 2 stop bit ---------------+-+-+ | ||
  1260.        |     |010 - 7 bit, even, 1 stop bit --------------+-+-+ | ||
  1261.        |     |011 - 7 bit, odd, 1 stop bit ---------------+-+-+ | ||
  1262.        |     |100 - 8 bit, 2 stop bit --------------------+-+-+ | ||
  1263.        |     |101 - 8 bit, 1 stop bit --------------------+-+-+ | ||
  1264.        |     |110 - 8 bit, even, 1 stop bit --------------+-+-+ | ||
  1265.        |     |111 - 8 bit, odd, 1 stop bit ---------------+-+-' | ||
  1266.        |     |Clock divide                                      | ||
  1267.        |     |00 - Normal --------------------------------------+-+|
  1268.        |     |01 - Div by 16 -----------------------------------+-+|
  1269.        |     |10 - Div by 64 -----------------------------------+-+|
  1270.        |     |11 - Master reset --------------------------------+-'|
  1271. $FFFC04|byte |MIDI ACIA control                 BIT 7 6 5 4 3 2 1 0|R
  1272.        |     |Interrupt request --------------------' | | | | | | ||
  1273.        |     |Parity error ---------------------------' | | | | | ||
  1274.        |     |Rx overrun -------------------------------' | | | | ||
  1275.        |     |Framing error ------------------------------' | | | ||
  1276.        |     |CTS ------------------------------------------' | | ||
  1277.        |     |DCD --------------------------------------------' | ||
  1278.        |     |Tx data register empty ---------------------------' ||
  1279.        |     |Rx data register full ------------------------------'|
  1280. $FFFC06|byte |MIDI ACIA data                                       |R/W
  1281. -------+-----+-----------------------------------------------------+----------
  1282. ##############Realtime Clock                                       ###########
  1283. -------+-----+-----------------------------------------------------+----------
  1284. $FFFC21|byte |S_Units                                              |???
  1285. $FFFC23|byte |S_Tens                                               |???
  1286. $FFFC25|byte |M_Units                                              |???
  1287. $FFFC27|byte |M_Tens                                               |???
  1288. $FFFC29|byte |H_Units                                              |???
  1289. $FFFC2B|byte |H_Tens                                               |???
  1290. $FFFC2D|byte |Weekday                                              |???
  1291. $FFFC2F|byte |Day_Units                                            |???
  1292. $FFFC31|byte |Day_Tens                                             |???
  1293. $FFFC33|byte |Mon_Units                                            |???
  1294. $FFFC35|byte |Mon_Tens                                             |???
  1295. $FFFC37|byte |Yr_Units                                             |???
  1296. $FFFC39|byte |Yr_Tens                                              |???
  1297. $FFFC3B|byte |Cl_Mod                                               |???
  1298. $FFFC3D|byte |Cl_Test                                              |???
  1299. $FFFC3F|byte |Cl_Reset                                             |???
  1300. -------+-----+-----------------------------------------------------+----------
  1301. ##############ROM                                                  ###########
  1302. -------+-----+-----------------------------------------------------+----------
  1303. $FA0000|     |                                                     |
  1304.     :  |     |128K ROM expansion cartridge port                    |R
  1305. $FBFFFF|     |                                                     |
  1306. -------+-----+-----------------------------------------------------+----------
  1307. $FC0000|     |                                                     |
  1308.     :  |     |192K System ROM                                      |R
  1309. $FEFFFF|     |                                                     |
  1310. -------+-----+-----------------------------------------------------+----------
  1311.  
  1312.                                Atari 32 bit Memory Map
  1313.  
  1314. Addresses           Description
  1315. -------------------+----------------------------------------------------------
  1316. $00000000-$00DFFFFF|ST RAM
  1317. $00E00000-$00EFFFFF|512k TOS ROMs
  1318. $00F00000-$00F9FFFF|Reserved I/O Space
  1319. $00FA0000-$00FBFFFF|128k ROM cartridge expansion port
  1320. $00FC0000-$00FEFFFF|192k System ROM
  1321. $00FF0000-$00FF7FFF|Reserved I/O Space
  1322. $00FF8000-$00FFFFFF|ST/TT I/O
  1323. $01000000-$013FFFFF|TT Fast Ram
  1324. $01400000-$FDFFFFFF|Reserved
  1325. $FE000000-$FEFFFFFF|VME A24/D16
  1326. $FEFF0000-$FEFFFFFF|VME A16/D16
  1327. $FF000000-$FFFFFFFF|ST 24 bit compatible shadow
  1328. $FFD000xx-$FFD000xx|Set FastRAM refresh rate and generate a bus error
  1329. -------------------+----------------------------------------------------------
  1330.  
  1331.                                    Cookie Jar
  1332.                             Atari "Official" Cookies
  1333. Cookie  Description
  1334. -------+----------------------------------------------------------------------
  1335. _CPU   | CPU Type                                          Bit 7 6 5 4 3 2 1 0
  1336.        | Processor type is represented in decimal in the lowest byte.
  1337.        | (0 - 68000, 40 - 68040)
  1338. -------+----------------------------------------------------------------------
  1339. _VDO   | Video Type                                                  BIT 17 16
  1340.        | Shifter Type                                                     |  |
  1341.        | 00 - ST ---------------------------------------------------------+--+
  1342.        | 01 - STe --------------------------------------------------------+--+
  1343.        | 10 - TT ---------------------------------------------------------+--+
  1344.        | 11 - Falcon030 --------------------------------------------------+--'
  1345. -------+----------------------------------------------------------------------
  1346. _FDC   | Floppy Drive Controller                              BIT 25 24 . 23-0
  1347.        | Floppy Format                                             |  |      |
  1348.        | 00 - DD (Normal floppy interface) ------------------------+--+      |
  1349.        | 01 - HD (1.44 MB with 3.5") ------------------------------+--+      |
  1350.        | 10 - ED (2.88 MB with 3.5") ------------------------------+--'      |
  1351.        | Controller ID                                                       |
  1352.        | 0 - No information available                                        |
  1353.        | 'ATC' - Fully compatible interface built in a way that -------------+
  1354.        |         behaves like part of the system.                            |
  1355.        | 'DP1' - "DreamPark Development", all ID's beginning with -----------'
  1356.        |         "DP" are reserved for Dreampark.
  1357. -------+----------------------------------------------------------------------
  1358. _FLK   | File Locking
  1359.        | If present, GEMDOS supports file locking. Value represents version
  1360.        | number of the expansion.
  1361. -------+----------------------------------------------------------------------
  1362. _NET   | Network Type
  1363.        | If present, there is GEMDOS network support. Points to 2 longs:
  1364.        | The first is the ID of the producer, and the second is the version
  1365.        | number.
  1366. -------+----------------------------------------------------------------------
  1367. _SLM   | SLM Driver
  1368.        | Diablo-driver for the SLM laser printer. Value points to a
  1369.        | non-documented structure.
  1370. -------+----------------------------------------------------------------------
  1371. _INF   | .INF Patch
  1372.        | When present, STEFIX (patch program for TOS 1.06) is active.
  1373. -------+----------------------------------------------------------------------
  1374. _SND   | Sound Hardware                                        BIT 5 4 3 2 1 0
  1375.        | CodeC (??) -----------------------------------------------' | | | | |
  1376.        | Connection Matrix ------------------------------------------' | | | |
  1377.        | DSP56001 -----------------------------------------------------' | | |
  1378.        | 16 Bit DMA Sound -----------------------------------------------' | |
  1379.        | 8 Bit DMA Sound --------------------------------------------------' |
  1380.        | YM2149 -------------------------------------------------------------'
  1381. -------+----------------------------------------------------------------------
  1382. _MCH   | Machine Type                                                BIT 17 16
  1383.        | 00 - ST/Mega ST -------------------------------------------------+--+
  1384.        | 01 - STe & Compatible Machines (See Below) ----------------------+--+
  1385.        | 10 - TT ---------------------------------------------------------+--+
  1386.        | 11 - Falcon030 --------------------------------------------------+--'
  1387.        | STe & Compatible Machines                             BIT 5 4 3 2 1 0
  1388.        | 00000 - STe ----------------------------------------------+-+-+-+-+-+
  1389.        | 00001 - ST Book ------------------------------------------+-+-+-+-+-+
  1390.        | 10000 - Mega STe -----------------------------------------+-+-+-+-+-'
  1391. -------+----------------------------------------------------------------------
  1392. _SWI   | Configuration Switches
  1393.        | State of configuration switches (MSTe/TT only)
  1394. -------+----------------------------------------------------------------------
  1395. _FRB   | Fast Ram Buffer
  1396.        | (TT specific) 64k buffer for ACSI DMA
  1397.        | 0 - no buffers assigned    Not 0 - address of FastRam buffer
  1398. -------+----------------------------------------------------------------------
  1399. _FPU   | FPU Type
  1400.        | Software FPU                                              BIT 3 2 1 0
  1401.        | 68040's internal FPU -----------------------------------------' | | |
  1402.        | 01 - 6888x present ---------------------------------------------+-+ |
  1403.        | 10 - 68881 for sure --------------------------------------------+-+ |
  1404.        | 11 - 68882 for sure --------------------------------------------+-' |
  1405.        | SFP004 present -----------------------------------------------------'
  1406.        | Hardware FPU                                            BIT 11 10 9 8
  1407.        | 68040's internal FPU ----------------------------------------'  | | |
  1408.        | 01 - 6888x present ---------------------------------------------+-+ |
  1409.        | 10 - 68881 for sure --------------------------------------------+-+ |
  1410.        | 11 - 68882 for sure --------------------------------------------+-' |
  1411.        | SFP004 present -----------------------------------------------------'
  1412. -------+----------------------------------------------------------------------
  1413. _OOL   | PoolFix
  1414.        | Value corresponds to PoolFix version
  1415. -------+----------------------------------------------------------------------
  1416. _AKP   | Keyboard/Language Configuration
  1417.        | Keyboard Configuration                                       Bit 15-8
  1418.        | 1 - German   5 - Italian -------------------------------------------+
  1419.        | 2 - French   7 - Swiss French --------------------------------------+
  1420.        | 4 - Spanish  8 - Swiss German --------------------------------------+
  1421.        | All others - English -----------------------------------------------'
  1422.        | Language Configuration                                        BIT 7-0
  1423.        | 1 - German   5 - Italian -------------------------------------------+
  1424.        | 2 - French   7 - Swiss French --------------------------------------+
  1425.        | 4 - Spanish  8 - Swiss German --------------------------------------+
  1426.        | All others - English -----------------------------------------------'
  1427. -------+----------------------------------------------------------------------
  1428. _IDT   | International Date/Time Format
  1429.        | Time Format                                                    BIT 12
  1430.        | 0 - AM/PM, 1 - 24 hours --------------------------------------------+
  1431.        | Date Format                                                   BIT 9 8
  1432.        | 00 - MMDDYY ------------------------------------------------------+-+
  1433.        | 01 - DDMMYY ------------------------------------------------------+-+
  1434.        | 10 - YYMMDD ------------------------------------------------------+-+
  1435.        | 11 - YYDDMM ------------------------------------------------------+-'
  1436.        | Separator for date                                            BIT 7-0
  1437.        | ASCII Value (i.e. "." or "/") --------------------------------------'
  1438. -------+----------------------------------------------------------------------
  1439. MiNT   | MiNT
  1440.        | Present if MiNT/MultiTOS is active. Value represents the version
  1441.        | number of the MiNT kernel in hex (0x104 = 1.04)
  1442. -------+----------------------------------------------------------------------
  1443.  
  1444.